home *** CD-ROM | disk | FTP | other *** search
/ Champak 29 / Volume 29 - JOGO DISK .iso / Games / jungle_adventure.swf / scripts / __Packages / GDK / Collection.as < prev    next >
Text File  |  2006-11-29  |  2KB  |  84 lines

  1. class GDK.Collection extends Array
  2. {
  3.    static var Collections = [];
  4.    static var created = 0;
  5.    function Collection()
  6.    {
  7.       super();
  8.       GDK.Collection.Collections[this.id = ++GDK.Collection.created] = this;
  9.    }
  10.    static function removeFromAll(obj)
  11.    {
  12.       var _loc1_ = undefined;
  13.       if(!(_loc1_ = obj.__col))
  14.       {
  15.          return undefined;
  16.       }
  17.       for(var _loc3_ in _loc1_)
  18.       {
  19.          GDK.Collection.Collections[_loc3_].removeMember(obj);
  20.       }
  21.    }
  22.    static function removeAll()
  23.    {
  24.    }
  25.    function addMember(obj)
  26.    {
  27.       if(obj.__col[this.id])
  28.       {
  29.          return false;
  30.       }
  31.       this.push(obj);
  32.       if(!obj.__col)
  33.       {
  34.          obj.__col = {count:0};
  35.       }
  36.       obj.__col[this.id] = true;
  37.       obj.__col.count = obj.__col.count + 1;
  38.       return true;
  39.    }
  40.    function removeMember(obj)
  41.    {
  42.       if(!obj.__col[this.id])
  43.       {
  44.          return false;
  45.       }
  46.       var _loc2_ = this.length;
  47.       while((_loc2_ = _loc2_ - 1) > -1)
  48.       {
  49.          if(this[_loc2_] == obj)
  50.          {
  51.             this.splice(_loc2_,1);
  52.             break;
  53.          }
  54.       }
  55.       if(!--obj.__col.count)
  56.       {
  57.          delete obj.__col;
  58.       }
  59.       else
  60.       {
  61.          delete obj.__col[this.id];
  62.       }
  63.       delete this[this.length];
  64.       return true;
  65.    }
  66.    function update(elapsed)
  67.    {
  68.       var _loc2_ = this.length;
  69.       while((_loc2_ = _loc2_ - 1) > -1)
  70.       {
  71.          this[_loc2_].update(elapsed);
  72.       }
  73.    }
  74.    function send(sID)
  75.    {
  76.       var _loc4_ = arguments.slice(1);
  77.       var _loc3_ = this.length;
  78.       while((_loc3_ = _loc3_ - 1) > -1)
  79.       {
  80.          this[_loc3_][sID].apply(this[_loc3_],_loc4_);
  81.       }
  82.    }
  83. }
  84.